﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;

/// <summary>
/// Descripción breve de Proveedor
/// </summary>
public class Proveedor
{
    public int codigo { get; set; }
    public string razonSocial { get; set; }
    public string ruc { get; set; }
    public string direccion { get; set; }
    public string telefono { get; set; }
    public int pais { get; set; }

    Conexion cn = new Conexion();

	public Proveedor()
	{
	}

    public DataTable listarTodos()
    {
        SqlDataAdapter da = new SqlDataAdapter("spr_proveedor_listar", cn.getCn());
        da.SelectCommand.CommandType = CommandType.StoredProcedure;
        DataTable tabla = new DataTable();
        da.Fill(tabla);
        return tabla;
    }

    public void agregar(Proveedor p)
    {
        SqlCommand cmd = new SqlCommand("spr_proveedor_agregar", cn.getCn());
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@codigo", SqlDbType.Int).Value = p.codigo;
        cmd.Parameters.Add("@razonsocial", SqlDbType.VarChar).Value = p.razonSocial;
        cmd.Parameters.Add("@ruc", SqlDbType.VarChar).Value = p.ruc;
        cmd.Parameters.Add("@direccion", SqlDbType.VarChar).Value = p.direccion;
        cmd.Parameters.Add("@telefono", SqlDbType.VarChar).Value = p.telefono;
        cmd.Parameters.Add("@pais", SqlDbType.Int).Value = p.pais;

        try
        {
            cn.getCn().Open();
            cmd.ExecuteNonQuery();
        }
        catch
        {
        }
        finally
        {
            cn.getCn().Close();
        }

    }

    public void actualizar(Proveedor p)
    {
        SqlCommand cmd = new SqlCommand("spr_proveedor_actualizar", cn.getCn());
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@codigo", SqlDbType.Int).Value = p.codigo;
        cmd.Parameters.Add("@razonsocial", SqlDbType.VarChar).Value = p.razonSocial;
        cmd.Parameters.Add("@ruc", SqlDbType.VarChar).Value = p.ruc;
        cmd.Parameters.Add("@direccion", SqlDbType.VarChar).Value = p.direccion;
        cmd.Parameters.Add("@telefono", SqlDbType.VarChar).Value = p.telefono;
        cmd.Parameters.Add("@pais", SqlDbType.Int).Value = p.pais;

        try
        {
            cn.getCn().Open();
            cmd.ExecuteNonQuery();
        }
        catch
        {
        }
        finally
        {
            cn.getCn().Close();
        }

    }

    public void eliminar(int codigo)
    {
        SqlCommand cmd = new SqlCommand("spr_proveedor_eliminar", cn.getCn());
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@codigo", SqlDbType.Int).Value = codigo;

        try
        {
            cn.getCn().Open();
            cmd.ExecuteNonQuery();
        }
        catch
        {
        }
        finally
        {
            cn.getCn().Close();
        }

    }

}